package com.jt.demo3;

public class NewDog {
    /*
    * 1.该方法是通过反射的机制实例化对象
    * 2.反射机制:
    *       java中创建对象的常用的一种方式,指定类型的路径
    *       之后通过关键方法.newInstance()实例化对象
    *       类比:xxx.newInstance() ~~ new Dog();
    * 3.精髓:为什么用反射?而不是new ???
    *       3.1 因为第三方通过反射实例化对象 可以实现松耦合!!!
    *       3.2 一般多用于框架,因为框架不清楚用户到底需要啥,只有运行期
    *           才清楚用户到底需要什么对象.扩展性更好!!!
    * 4.异常说明:
    *       1.运行时异常  运行期间出错了
    *       2.编译异常/检查异常  编译时提示报错
    *
    * 5.反射时,必须调用对象的无参构造方法!!!
    * */

    public static void main(String[] args) throws Exception {
        Dog dog = (Dog) Class.forName("com.jt.demo3.Dog").newInstance();
        dog.hello();
    }
}
